<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
    <title>天知道</title>
    <link rel="stylesheet" href="css/reset.css" />
    <link rel="stylesheet" href="css/index.css" />
    <style>
      .fade-enter-active,
      .fade-leave-active {
        transition: opacity 0.5s;
      }
      .fade-enter, .fade-leave-to /* .fade-leave-active below version 2.1.8 */ {
        opacity: 0;
      }
    </style>
  </head>

  <body>
    <div class="wrap" id="app">
      <div class="search_form">
        <div class="logo"><img src="img/logo.png" alt="logo" /></div>
        <div class="form_group">
          <input
            type="text"
            class="input_txt"
            placeholder="请输入查询的天气"
            v-model="city"
            @keyup.enter="queryWeather"
          />
          <button class="input_sub" @click="queryWeather">搜 索</button>
        </div>
        <div class="hotkey">
          <a href="javascript:;" v-for="city in hotCitys" @click="clickSearch(city)">{{ city }}</a>
        </div>
      </div>
      <ul class="weather_list">
        <li v-for="(item,index) in forecastList" :key="item.date">
          <div class="info_type">
            <span class="iconfont">{{ item.type }}</span>
          </div>
          <div class="info_temp">
            <b>{{ item.low}}</b>
            ~
            <b>{{ item.high}}</b>
          </div>
          <div class="info_date">
            <span>{{ item.date }}</span>
          </div>
        </li>
      </ul>
      <!-- 遮罩层 -->
      <transition name="fade">
        <div class="cover" v-show="forecastList.length===0">
          <img src="./img/loading.gif" alt="" />
        </div>
      </transition>
    </div>
    <!-- 开发环境版本，包含了有帮助的命令行警告 -->
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
    <!-- 官网提供的 axios 在线地址 -->
    <script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>
    <script>
      new Vue({
        el: '#app',
        data: {
          city: '武汉',
          forecastList: [],
          hotCitys: ['北京', '上海', '广州', '深圳'],
        },
        created() {
          this.clickSearch('北京')
        },
        methods: {
          queryWeather() {
            this.forecastList = []
            axios
              .get(`http://wthrcdn.etouch.cn/weather_mini?city=${this.city}`)
              .then((res) => {
                console.log(res)
                setTimeout(() => {
                  this.forecastList = res.data.data.forecast
                }, 1000)
              })
              .catch((err) => {
                console.log(err)
              })
              .finally(() => {})
          },
          clickSearch(city) {
            this.city = city
            this.queryWeather()
          },
        },
      })
    </script>
  </body>
</html>
